<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script>
        // Map函数
        var arr = [100,200,300,400,500];
        var newArr = arr.map(function(item,i){   //使用已封装好的函数 arr.调用
            return item*10;    //对于数组中每一项进行的操作
        })
        console.log(newArr); 

        //自己封装map函数实现其功能
        var arr1 = [100,200,300,400,500];
        function map(arr,fn){       //自己封装 不知道arr 故需要传入arr
            var a = [];
            for(var i=0;i<arr.length;i++){
                // return fn(arr[i],i)  //直接return map结束 arr1 只等于1000
                a.push(fn(arr[i],i));
            }            //fn(arr[i],i) arr[i],i传入的参数实参
            return a;  //返回一个新的数组
        }
        var arr1 = map(arr,function(item){
            return item*10         //传入item形参
        });
        console.log(arr1);


        // 首字母大写 toUpperCase()
        var txt = 'i lOVe chINa';
        var arr = txt.toLowerCase().split(' ');
        ['i','love','china']
        // arr.forEach(function(item){
        //     item = item[0].toUpperCase()+item.slice(1);     //item变了但是数组里面的值没有改变
        // });
        arr.forEach(function(item,i){
            // 不能给item直接赋值
            arr[i] = item[0].toUpperCase()+item.slice(1);    
        });
        // for(var i=0;i<arr.length;i++){
        //     arr[i] = arr[i][0].toUpperCase()+arr[i].slice(1);
        // }
        var newTxt = arr.join(' ');  //将arr数组用' '连接在一起
        document.write(newTxt);
        document.write('</br>');

        // 把上面封装起来
        function toUpper(txt){
            var arr = txt.split(' ');
            for(var i=0;i<arr.length;i++){
                arr[i] = arr[i][0].toUpperCase()+arr[i].slice(1);
            }
            // var newTxt = arr.join(' ');
            // return newTxt;
            return arr.join(' ')
        }
        document.write( toUpper(txt) );
        document.write('</br>');

        // 灵活运用
        var txt = 'i LoVe ChInA';
        function toUpper(txt){
            var arr = txt.toLowerCase().split(' ');  // 先变小写 在每个首字母大写
            for(var i=0;i<arr.length;i++){
                arr[i] = arr[i][0].toUpperCase()+arr[i].slice(1);
            }
            // var newTxt = arr.join(' ');
            // return newTxt;
            return arr.join(' ')
        }
        document.write( toUpper(txt) );




    </script>
</body>
</html>